package com.xinghanlaser.applet.service;

import com.xinghanlaser.applet.base.auth.vo.UserDataVO;
import com.xinghanlaser.applet.base.common.entity.ResponseEntity;
import com.xinghanlaser.applet.base.oss.model.UploadObjectResult;
import com.xinghanlaser.applet.entity.PointState;
import com.xinghanlaser.applet.entity.TopicDetail;
import com.xinghanlaser.applet.entity.TopicHandleDetail;
import com.xinghanlaser.applet.query.TopicQuery;
import com.xinghanlaser.applet.vo.applet.ProductDetailVO;
import com.xinghanlaser.applet.vo.applet.TopicCountVO;
import com.xinghanlaser.applet.vo.applet.TopicVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 *
 * <p>
 *
 * @author: mftuo 陀铭峰
 * @since: 2024/5/8 9:10
 */
public interface ITopicService {
    ProductDetailVO getProductDetail(String productSn);

    ResponseEntity<ResponseEntity.PageResult<TopicVO>> pageByCondition(TopicQuery query);

    ResponseEntity<TopicVO> getTopicById(Long id, Long roleId);

    ResponseEntity<List<UploadObjectResult>> batchUploadPicture(List<MultipartFile> pictures);

    TopicDetail validatedTopicId(Long id);

    TopicHandleDetail getHandleEntityByTopicId(Long topicId);

    ResponseEntity<List<UserDataVO>> getUserListByRoleId(Long roleId);

    ResponseEntity<List<PointState>> getStateList(Long roleId);

    ResponseEntity<List<TopicCountVO>> getTopicCountList(Long userId, Long roleId);
}
